/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package c;

import clases.InterfaceControllers;
import m.PacientesModel;

/**
 *
 * @author !gaso
 */
public class PlanillasController extends Controller implements InterfaceControllers {

    PacientesModel pacienteModel = new PacientesModel();

    @Override
    public Object[][] obtenerTodo() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public boolean add(String... values) {
        return pacienteModel.add(values[0]);
    }

    @Override
    public boolean mod(String... values) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public boolean del(int id) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public Object[][] buscar(String txtBusqueda) {
        return pacienteModel.buscar(txtBusqueda);
    }

    @Override
    public void grid() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public String prepararTransaccion(String tabla, StringBuilder sqlAndRestricciones, String mod, String entidad, String campoPK) {
        String resultValidacion = "";
        resultValidacion = sqlAndValidation(tabla, sqlAndRestricciones, mod, campoPK);

        System.out.println("getSqlInsert() = " + getSqlInsert());

        if (resultValidacion.isEmpty()) {
            // Validar si se debe de verificar si EXISTE o no DATOS
            boolean transaccion = (getSqlCount() == null) ? true : pacienteModel.count(getSqlCount()) == 0;

            if (mod.equals("INSERT")) {

                // verificar primero que no exista ya el registro
                if (transaccion) {
                    if (add(getSqlInsert())) {
                        resultValidacion = "ok[¡Información Ingresada Correctamente!] Se ha ingresado al Sistema <b>" + entidad + "</b> de forma satisfactoria.";
                    } else {
                        resultValidacion = "error[Problemas Ingresando la Información] <b>" + entidad + "</b> no se agrego al Sistema.";
                    }
                } else {
                    resultValidacion = "error[Información Duplicada] <b>" + entidad + "</b> Ya existe en el Sistema , verifique la información introducida.";
                }

            } else if (mod.equals("UPDATE")) {
                if (transaccion || (allowUpdate())) {
                    if (add(getSqlUpdate())) {
                        resultValidacion = "ok[¡Información Actualizada Correctamente!] Los Datos de <b>" + entidad + "</b> fueron cambiados.";
                    } else {
                        resultValidacion = "error[Problemas Actualizando la Información] Los Datos de <b>" + entidad + "</b> no se lograron actualizar.";
                    }
                } else {
                    resultValidacion = "error[Información Duplicada] <b>" + entidad + "</b> Ya existe en el Sistema , verifique la información introducida.";
                }
            }
        }
        return resultValidacion;
    }
}
